﻿// ***********************************************************************
// Assembly         : AccesoDatos
// Author           : Diego
// Created          : 03-02-2014
//
// Last Modified By : Diego
// Last Modified On : 03-02-2014
// ***********************************************************************
// <copyright file="AD_Proyecto.cs" company="">
//     Copyright (c) . All rights reserved.
// </copyright>
// <summary></summary>
// ***********************************************************************
using Modelado.Modulos.ClasesModelado;
using System;
using System.Collections.Generic;
using System.Data;
using System.Data.SqlClient;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

/// <summary>
/// The ClasesAccesoDatos namespace.
/// </summary>
namespace AccesoDatos.Modulos.ClasesAccesoDatos
{
    /// <summary>
    /// Class AD_Proyecto.
    /// </summary>
    public class AD_Proyecto
    {


        //1 Crear Proyecto

        /// <summary>
        /// Crs the e_ proyecto.
        /// </summary>
        /// <param name="comando">The comando.</param>
        /// <param name="obj">The object.</param>
        /// <returns>System.Int32.</returns>
        public int CRE_Proyecto(SqlCommand comando, MOD_Proyecto obj)
        {
            try
            {
                string sp = "SP_CRE_Proyecto";

                comando.CommandType = CommandType.StoredProcedure;
                comando.CommandText = sp;
                comando.Parameters.Clear();


                comando.Parameters.Add(new SqlParameter("@proy_codcliente", SqlDbType.Int));
                comando.Parameters.Add(new SqlParameter("@proy_nombre", SqlDbType.VarChar));
                comando.Parameters.Add(new SqlParameter("@proy_fechainicio", SqlDbType.DateTime));
                comando.Parameters.Add(new SqlParameter("@proy_fechafin", SqlDbType.DateTime));
                comando.Parameters.Add(new SqlParameter("@proy_version", SqlDbType.Int));
                comando.Parameters.Add(new SqlParameter("@proy_planoest", SqlDbType.VarChar));
                comando.Parameters.Add(new SqlParameter("@proy_codestado", SqlDbType.Int));
                comando.Parameters.Add(new SqlParameter("@proy_codusuario", SqlDbType.Int));


                comando.Parameters[0].Value = obj.Proy_codcliente;
                comando.Parameters[1].Value = obj.Proy_nombre;
                comando.Parameters[2].Value = obj.Proy_fechainicio;
                comando.Parameters[3].Value = obj.Proy_fechafin;
                comando.Parameters[4].Value = obj.Proy_version;
                comando.Parameters[5].Value = obj.Proy_planoest;
                comando.Parameters[6].Value = obj.Proy_codestado;
                comando.Parameters[7].Value = obj.Proy_codusuario;


                var returnParameter = comando.Parameters.Add("@return_value ", SqlDbType.Int);
                returnParameter.Direction = ParameterDirection.ReturnValue;

                comando.ExecuteNonQuery();



                int codigo = Convert.ToInt32(returnParameter.Value);
                return codigo;


            }
            catch (Exception exc)
            {
                throw exc;
            }
        }


        //2eliminar Proyecto

        /// <summary>
        /// Des the l_ proyecto.
        /// </summary>
        /// <param name="comando">The comando.</param>
        /// <param name="codigo">The codigo.</param>
        public void DEL_Proyecto(SqlCommand comando, int codigo)
        {
            try
            {
                string sp = "SP_DEL_Proyecto";

                comando.CommandType = CommandType.StoredProcedure;
                comando.CommandText = sp;
                comando.Parameters.Clear();


                comando.Parameters.Add(new SqlParameter("@proy_codproyecto", SqlDbType.Int));

                comando.Parameters[0].Value = codigo;

                comando.ExecuteNonQuery();


            }
            catch (Exception exc)
            {
                throw exc;
            }
        }


        //3actualiza Proyecto

        /// <summary>
        /// Ups the d_ proyecto.
        /// </summary>
        /// <param name="comando">The comando.</param>
        /// <param name="obj">The object.</param>
        public void UPD_Proyecto(SqlCommand comando, MOD_Proyecto obj)
        {
            try
            {
                string sp = "SP_UPD_Proyecto";

                comando.CommandType = CommandType.StoredProcedure;
                comando.CommandText = sp;
                comando.Parameters.Clear();

                comando.Parameters.Add(new SqlParameter("@proy_codproyecto", SqlDbType.Int));
                comando.Parameters.Add(new SqlParameter("@proy_codcliente", SqlDbType.Int));
                comando.Parameters.Add(new SqlParameter("@proy_nombre", SqlDbType.VarChar));
                comando.Parameters.Add(new SqlParameter("@proy_fechainicio", SqlDbType.DateTime));
                comando.Parameters.Add(new SqlParameter("@proy_fechafin", SqlDbType.DateTime));
                comando.Parameters.Add(new SqlParameter("@proy_version", SqlDbType.Int));
                comando.Parameters.Add(new SqlParameter("@proy_planoest", SqlDbType.VarChar));
                comando.Parameters.Add(new SqlParameter("@proy_codestado", SqlDbType.Int));
                comando.Parameters.Add(new SqlParameter("@proy_codusuario", SqlDbType.Int));

                comando.Parameters[0].Value = obj.Proy_codproyecto;
                comando.Parameters[1].Value = obj.Proy_codcliente;
                comando.Parameters[2].Value = obj.Proy_nombre;
                comando.Parameters[3].Value = obj.Proy_fechainicio;
                comando.Parameters[4].Value = obj.Proy_fechafin;
                comando.Parameters[5].Value = obj.Proy_version;
                comando.Parameters[6].Value = obj.Proy_planoest;
                comando.Parameters[7].Value = obj.Proy_codestado;
                comando.Parameters[8].Value = obj.Proy_codusuario;

                comando.ExecuteNonQuery();


            }
            catch (Exception exc)
            {
                throw exc;
            }
        }


        ////4 muestra grid de Proyectos Donde usuario es administrador o participante
        /// <summary>
        /// Ses the l_ grid_ proyectos.
        /// </summary>
        /// <param name="comando">The comando.</param>
        /// <param name="codUsuario">The cod usuario.</param>
        /// <returns>List{MOD_Proyecto}.</returns>
        public List<MOD_Proyecto> SEL_Grid_Proyectos(SqlCommand comando, int codUsuario)
        {
            try
            {
                string sp = "SP_SEL_Grid_Proyectos";

                comando.CommandType = CommandType.StoredProcedure;
                comando.CommandText = sp;
                comando.Parameters.Clear();

                comando.Parameters.Add(new SqlParameter("@USU_CODIGO", SqlDbType.Int));


                comando.Parameters[0].Value = codUsuario;

                IDbDataAdapter da = new SqlDataAdapter((SqlCommand)comando);
                DataSet ds = new DataSet();
                da.Fill(ds);

                DataTable dt = ds.Tables[0];
                List<MOD_Proyecto> lista = new List<MOD_Proyecto>();

                for (int i = 0; i < dt.Rows.Count; i++)
                {
                    MOD_Proyecto obj = new MOD_Proyecto();
                    obj.Proy_codproyecto = Convert.ToInt32(dt.Rows[i]["PROY_CODPROYECTO"]);
                    obj.CLI_nombre = dt.Rows[i]["CLI_NOMBRE"].ToString();
                    obj.Proy_nombre = dt.Rows[i]["PROY_NOMBRE"].ToString();
                    obj.Proy_fechainicio = Convert.ToDateTime(dt.Rows[i]["PROY_FECHAINICIO"]);
                    obj.Proy_fechafin = Convert.ToDateTime(dt.Rows[i]["PROY_FECHAFIN"]);
                    obj.Proy_version = Convert.ToInt32(dt.Rows[i]["PROY_VERSION"]);
                    obj.Proy_nombreEstado = dt.Rows[i]["ESTPRO_NOMBRE"].ToString();
                    obj.USU_nombre = dt.Rows[i]["Administrador"].ToString();

                    lista.Add(obj);
                }


                return lista;

            }
            catch (Exception exc)
            {
                throw exc;
            }
        }

        
        ////4 muestra grid de Proyectos Donde usuario es administrador
        /// <summary>
        /// Ses the l_ grid_ proyectos_ admin.
        /// </summary>
        /// <param name="comando">The comando.</param>
        /// <param name="codUsuario">The cod usuario.</param>
        /// <returns>List{MOD_Proyecto}.</returns>
        public List<MOD_Proyecto> SEL_Grid_Proyectos_Admin(SqlCommand comando, int codUsuario)
        {
            try
            {
                string sp = "SP_SEL_Grid_Administrador_en_Proyecto";

                comando.CommandType = CommandType.StoredProcedure;
                comando.CommandText = sp;
                comando.Parameters.Clear();

                comando.Parameters.Add(new SqlParameter("@USU_CODIGO", SqlDbType.Int));


                comando.Parameters[0].Value = codUsuario;

                IDbDataAdapter da = new SqlDataAdapter((SqlCommand)comando);
                DataSet ds = new DataSet();
                da.Fill(ds);

                DataTable dt = ds.Tables[0];
                List<MOD_Proyecto> lista = new List<MOD_Proyecto>();

                for (int i = 0; i < dt.Rows.Count; i++)
                {
                    MOD_Proyecto obj = new MOD_Proyecto();
                    obj.Proy_codproyecto = Convert.ToInt32(dt.Rows[i]["PROY_CODPROYECTO"]);
                    obj.CLI_nombre = dt.Rows[i]["CLI_NOMBRE"].ToString();
                    obj.Proy_nombre = dt.Rows[i]["PROY_NOMBRE"].ToString();
                    obj.Proy_fechainicio = Convert.ToDateTime(dt.Rows[i]["PROY_FECHAINICIO"]);
                    obj.Proy_fechafin = Convert.ToDateTime(dt.Rows[i]["PROY_FECHAFIN"]);
                    obj.Proy_version = Convert.ToInt32(dt.Rows[i]["PROY_VERSION"]);
                    obj.Proy_nombreEstado = dt.Rows[i]["ESTPRO_NOMBRE"].ToString();
                    obj.USU_nombre = dt.Rows[i]["Administrador"].ToString();

                    lista.Add(obj);
                }


                return lista;

            }
            catch (Exception exc)
            {
                throw exc;
            }
        }


        //

        ////4 muestra grid de Proyectos Donde usuario es participante solamente 
        /// <summary>
        /// Ses the l_ grid_ proyectos_ participante.
        /// </summary>
        /// <param name="comando">The comando.</param>
        /// <param name="codUsuario">The cod usuario.</param>
        /// <returns>List{MOD_Proyecto}.</returns>
        public List<MOD_Proyecto> SEL_Grid_Proyectos_Participante(SqlCommand comando, int codUsuario)
        {
            try
            {
                string sp = "SP_SEL_Grid_Participante_en_Proyecto";

                comando.CommandType = CommandType.StoredProcedure;
                comando.CommandText = sp;
                comando.Parameters.Clear();

                comando.Parameters.Add(new SqlParameter("@USU_CODIGO", SqlDbType.Int));


                comando.Parameters[0].Value = codUsuario;

                IDbDataAdapter da = new SqlDataAdapter((SqlCommand)comando);
                DataSet ds = new DataSet();
                da.Fill(ds);

                DataTable dt = ds.Tables[0];
                List<MOD_Proyecto> lista = new List<MOD_Proyecto>();

                for (int i = 0; i < dt.Rows.Count; i++)
                {
                    MOD_Proyecto obj = new MOD_Proyecto();
                    obj.Proy_codproyecto = Convert.ToInt32(dt.Rows[i]["PROY_CODPROYECTO"]);
                    obj.CLI_nombre = dt.Rows[i]["CLI_NOMBRE"].ToString();
                    obj.Proy_nombre = dt.Rows[i]["PROY_NOMBRE"].ToString();
                    obj.Proy_fechainicio = Convert.ToDateTime(dt.Rows[i]["PROY_FECHAINICIO"]);
                    obj.Proy_fechafin = Convert.ToDateTime(dt.Rows[i]["PROY_FECHAFIN"]);
                    obj.Proy_version = Convert.ToInt32(dt.Rows[i]["PROY_VERSION"]);
                    obj.Proy_nombreEstado = dt.Rows[i]["ESTPRO_NOMBRE"].ToString();
                    obj.USU_nombre = dt.Rows[i]["Administrador"].ToString();

                    lista.Add(obj);
                }


                return lista;

            }
            catch (Exception exc)
            {
                throw exc;
            }
        }


        //
        ////4 muestra grid de TODOS los Proyectos de la BD
        /// <summary>
        /// Ses the l_ grid_ proyectos_ bd.
        /// </summary>
        /// <param name="comando">The comando.</param>
        /// <returns>List{MOD_Proyecto}.</returns>
        public List<MOD_Proyecto> SEL_Grid_Proyectos_BD(SqlCommand comando)
        {
            try
            {
                string sp = "SP_SEL_Grid_Proyectos_Yeril";

                comando.CommandType = CommandType.StoredProcedure;
                comando.CommandText = sp;
                comando.Parameters.Clear();

                IDbDataAdapter da = new SqlDataAdapter((SqlCommand)comando);
                DataSet ds = new DataSet();
                da.Fill(ds);

                DataTable dt = ds.Tables[0];
                List<MOD_Proyecto> lista = new List<MOD_Proyecto>();

                for (int i = 0; i < dt.Rows.Count; i++)
                {
                    MOD_Proyecto obj = new MOD_Proyecto();
                    obj.Proy_codproyecto = Convert.ToInt32(dt.Rows[i]["PROY_CODPROYECTO"]);
                    obj.CLI_nombre = dt.Rows[i]["CLI_NOMBRE"].ToString();
                    obj.Proy_nombre = dt.Rows[i]["PROY_NOMBRE"].ToString();
                    obj.Proy_fechainicio = Convert.ToDateTime(dt.Rows[i]["PROY_FECHAINICIO"]);
                    obj.Proy_fechafin = Convert.ToDateTime(dt.Rows[i]["PROY_FECHAFIN"]);
                    obj.Proy_version = Convert.ToInt32(dt.Rows[i]["PROY_VERSION"]);
                    obj.Proy_nombreEstado = dt.Rows[i]["ESTPRO_NOMBRE"].ToString();
                    obj.USU_nombre = dt.Rows[i]["Administrador"].ToString();

                    lista.Add(obj);
                }


                return lista;

            }
            catch (Exception exc)
            {
                throw exc;
            }
        }


        //

        //5trae info de Proyecto para editar
        /// <summary>
        /// Ses the l_ proyecto by identifier.
        /// </summary>
        /// <param name="comando">The comando.</param>
        /// <param name="CODPROYECTO">The codproyecto.</param>
        /// <returns>MOD_Proyecto.</returns>
        public MOD_Proyecto SEL_ProyectoByID(SqlCommand comando, int CODPROYECTO)
        {
            try
            {
                string sp = "SP_SEL_ProyectoByID";

                comando.CommandType = CommandType.StoredProcedure;
                comando.CommandText = sp;
                comando.Parameters.Clear();

                comando.Parameters.Add(new SqlParameter("@proy_codproyecto", SqlDbType.Int));


                comando.Parameters[0].Value = CODPROYECTO;


                IDbDataAdapter da = new SqlDataAdapter((SqlCommand)comando);
                DataSet ds = new DataSet();
                da.Fill(ds);

                DataTable dt = ds.Tables[0];
                MOD_Proyecto obj = new MOD_Proyecto();

                for (int i = 0; i < dt.Rows.Count; i++)
                {
                    obj.Proy_codcliente = Convert.ToInt32(dt.Rows[i]["PROY_CODCLIENTE"]);
                    obj.Proy_nombre = dt.Rows[i]["PROY_NOMBRE"].ToString();
                    obj.Proy_fechainicio = Convert.ToDateTime(dt.Rows[i]["PROY_FECHAINICIO"]);
                    obj.Proy_fechafin = Convert.ToDateTime(dt.Rows[i]["PROY_FECHAFIN"]);
                    obj.Proy_version = Convert.ToInt32(dt.Rows[i]["PROY_VERSION"]);
                    obj.Proy_planoest =(dt.Rows[i]["PROY_PLANOSEST"]).ToString();
                    obj.Proy_codestado = Convert.ToInt32(dt.Rows[i]["PROY_CODESTADO"]);
                    obj.Proy_codusuario = Convert.ToInt32(dt.Rows[i]["PROY_CODUSUARIO"]); 

                }

                return obj;


            }
            catch (Exception exc)
            {
                throw exc;
            }
        }


        //6selecciona estado de proyecto
        /// <summary>
        /// Ses the l_ estproyecto.
        /// </summary>
        /// <param name="comando">The comando.</param>
        /// <returns>List{MOD_Proyecto}.</returns>
        public List<MOD_Proyecto> SEL_ESTPROYECTO(SqlCommand comando)
        {
            try
            {
                string sp = "SP_SEL_ESTPROYECTO";

                comando.CommandType = CommandType.StoredProcedure;
                comando.CommandText = sp;
                comando.Parameters.Clear();

                IDbDataAdapter da = new SqlDataAdapter((SqlCommand)comando);
                DataSet ds = new DataSet();
                da.Fill(ds);

                DataTable dt = ds.Tables[0];
                List<MOD_Proyecto> lista = new List<MOD_Proyecto>();

                for (int i = 0; i < dt.Rows.Count; i++)
                {
                    MOD_Proyecto obj = new MOD_Proyecto();
                    obj.Proy_codestado = Convert.ToInt32(dt.Rows[i]["PROY_CODESTADO"]);
                    obj.Proy_nombreEstado = dt.Rows[i]["ESTPRO_NOMBRE"].ToString();


                    lista.Add(obj);
                }


                return lista;

            }
            catch (Exception exc)
            {
                throw exc;
            }
        }


        //7selecciona cliente
        /// <summary>
        /// Ses the l_ cliente.
        /// </summary>
        /// <param name="comando">The comando.</param>
        /// <returns>List{MOD_Clientes}.</returns>
        public List<MOD_Clientes> SEL_CLIENTE(SqlCommand comando)
        {
            try
            {
                string sp = "SP_SEL_CLIENTE";

                comando.CommandType = CommandType.StoredProcedure;
                comando.CommandText = sp;
                comando.Parameters.Clear();

                IDbDataAdapter da = new SqlDataAdapter((SqlCommand)comando);
                DataSet ds = new DataSet();
                da.Fill(ds);

                DataTable dt = ds.Tables[0];
                List<MOD_Clientes> lista = new List<MOD_Clientes>();

                for (int i = 0; i < dt.Rows.Count; i++)
                {
                    MOD_Clientes obj = new MOD_Clientes();
                    obj.CLI_codcliente = Convert.ToInt32(dt.Rows[i]["CLI_CODCLIENTE"]);
                    obj.CLI_nombre = dt.Rows[i]["CLI_NOMBRE"].ToString();


                    lista.Add(obj);
                }


                return lista;

            }
            catch (Exception exc)
            {
                throw exc;
            }
        }

        //8selecciona usuario

        /// <summary>
        /// Ses the l_ usuario.
        /// </summary>
        /// <param name="comando">The comando.</param>
        /// <returns>List{MOD_Usuarios}.</returns>
        public List<MOD_Usuarios> SEL_USUARIO(SqlCommand comando)
        {
            try
            {
                string sp = "SP_SEL_USUARIO";

                comando.CommandType = CommandType.StoredProcedure;
                comando.CommandText = sp;
                comando.Parameters.Clear();

                IDbDataAdapter da = new SqlDataAdapter((SqlCommand)comando);
                DataSet ds = new DataSet();
                da.Fill(ds);

                DataTable dt = ds.Tables[0];
                List<MOD_Usuarios> lista = new List<MOD_Usuarios>();

                for (int i = 0; i < dt.Rows.Count; i++)
                {
                    MOD_Usuarios obj = new MOD_Usuarios();
                    obj.USU_codusuario = Convert.ToInt32(dt.Rows[i]["USU_CODUSUARIO"]);
                    obj.USU_nombre = dt.Rows[i]["USU_NOMBRE"].ToString();


                    lista.Add(obj);
                }


                return lista;

            }
            catch (Exception exc)
            {
                throw exc;
            }
        }




        // Insertar participantes al proyecto 

        /// <summary>
        /// Crs the e_ proyecto_ participante.
        /// </summary>
        /// <param name="comando">The comando.</param>
        /// <param name="obj">The object.</param>
        public void CRE_Proyecto_Participante(SqlCommand comando, MOD_Proyecto obj)
        {
            try
            {
                string sp = "CRE_Proyecto_Participante";

                comando.CommandType = CommandType.StoredProcedure;
                comando.CommandText = sp;
                comando.Parameters.Clear();


                comando.Parameters.Add(new SqlParameter("@proy_codproyecto", SqlDbType.Int));
                comando.Parameters.Add(new SqlParameter("@proy_codusuario", SqlDbType.Int));
              


                comando.Parameters[0].Value = obj.Proy_codproyecto;
                comando.Parameters[1].Value = obj.Proy_codusuario;
               


                comando.ExecuteNonQuery();


            }
            catch (Exception exc)
            {
                throw exc;
            }
        }


        //Proyecto Participante

        //Inserta participantes a proyecto

        /// <summary>
        /// Crs the e_ proyecto_ participante.
        /// </summary>
        /// <param name="comando">The comando.</param>
        /// <param name="CodProyecto">The cod proyecto.</param>
        /// <param name="CodParticipante">The cod participante.</param>
        public void CRE_Proyecto_Participante(SqlCommand comando, int CodProyecto, int CodParticipante)
        {
            try
            {
                string sp = "SP_CRE_ProyectoParticipante";

                comando.CommandType = CommandType.StoredProcedure;
                comando.CommandText = sp;
                comando.Parameters.Clear();


                comando.Parameters.Add(new SqlParameter("@PROPART_CODPARTICIPANTE", SqlDbType.VarChar));
                comando.Parameters.Add(new SqlParameter("@PROPART_CODPROYECTO", SqlDbType.VarChar));



                comando.Parameters[0].Value = CodProyecto;
                comando.Parameters[1].Value = CodParticipante;

                comando.ExecuteNonQuery();


            }
            catch (Exception exc)
            {
                throw exc;
            }
        }

        // Muestra Grid
        /// <summary>
        /// Ses the l_ grid_ proyecto_ participante.
        /// </summary>
        /// <param name="comando">The comando.</param>
        /// <param name="CodProyecto">The cod proyecto.</param>
        /// <returns>List{MOD_Usuarios}.</returns>
        public List<MOD_Usuarios> SEL_Grid_Proyecto_Participante(SqlCommand comando, int CodProyecto)
        {
            try
            {
                string sp = "SP_SEL_Grid_Proyecto_Participante";

                comando.CommandType = CommandType.StoredProcedure;
                comando.CommandText = sp;
                comando.Parameters.Clear();

                comando.Parameters.Add(new SqlParameter("@PROPART_CODPROYECTO", SqlDbType.VarChar));


                comando.Parameters[0].Value = CodProyecto;

                IDbDataAdapter da = new SqlDataAdapter((SqlCommand)comando);
                DataSet ds = new DataSet();
                da.Fill(ds);

                DataTable dt = ds.Tables[0];
                List<MOD_Usuarios> lista = new List<MOD_Usuarios>();

                for (int i = 0; i < dt.Rows.Count; i++)
                {
                    MOD_Usuarios obj = new MOD_Usuarios();
                    obj.USU_codusuario = Convert.ToInt32(dt.Rows[i]["USU_CODUSUARIO"]);
                    obj.USU_nombre = dt.Rows[i]["USU_NOMBRE"].ToString();


                    lista.Add(obj);
                }


                return lista;

            }
            catch (Exception exc)
            {
                throw exc;
            }
        }

        //VERIFICA QUE NO ESTÉ EL PARTICIPANTE EN EL MISMO PROYECTO 2 VECES
        /// <summary>
        /// Ses the l_ proyecto_ participante by i ds.
        /// </summary>
        /// <param name="comando">The comando.</param>
        /// <param name="codProyecto">The cod proyecto.</param>
        /// <param name="codParticipante">The cod participante.</param>
        /// <returns>System.Int32.</returns>
          public int SEL_Proyecto_ParticipanteByIDs(SqlCommand comando, int codProyecto, int codParticipante)
      {
          try
          {
              string sp = "SP_SEL_Proyecto_ParticipanteByIDs";
              int cant_part = 0;
              comando.CommandType = CommandType.StoredProcedure;
              comando.CommandText = sp;
              comando.Parameters.Clear();

              comando.Parameters.Add(new SqlParameter("@PROPART_CODPARTICIPANTE", SqlDbType.Int));
              comando.Parameters.Add(new SqlParameter("@PROPART_CODPROYECTO", SqlDbType.Int));


              comando.Parameters[0].Value = codParticipante;
              comando.Parameters[1].Value = codProyecto;

              IDbDataAdapter da = new SqlDataAdapter((SqlCommand)comando);
              DataSet ds = new DataSet();
              da.Fill(ds);

              DataTable dt = ds.Tables[0];
              MOD_Usuarios obj = new MOD_Usuarios();

              for (int i = 0; i < dt.Rows.Count; i++)
              {
                  cant_part= Convert.ToInt32(dt.Rows[i]["PART_CANT"]);


              }

              return cant_part;


          }
          catch (Exception exc)
          {
              throw exc;
          }
      }
        // ELIMINA PARTICIPANTES DE UN PROYECTO
          /// <summary>
          /// Des the l_ proyecto_ participante.
          /// </summary>
          /// <param name="comando">The comando.</param>
          /// <param name="codProyecto">The cod proyecto.</param>
          /// <param name="codParticipante">The cod participante.</param>
          public void DEL_Proyecto_Participante(SqlCommand comando, int codProyecto, int codParticipante)
          {
              try
              {
                  string sp = "SP_DEL_Proyecto_Participante";

                  comando.CommandType = CommandType.StoredProcedure;
                  comando.CommandText = sp;
                  comando.Parameters.Clear();


                  comando.Parameters.Add(new SqlParameter("@PROPART_CODPROYECTO", SqlDbType.Int));
                  comando.Parameters.Add(new SqlParameter("@PROPART_CODPARTICIPANTE", SqlDbType.Int));

                  comando.Parameters[0].Value = codProyecto;
                  comando.Parameters[1].Value = codParticipante;

                  comando.ExecuteNonQuery();


              }
              catch (Exception exc)
              {
                  throw exc;
              }
          }
    }
}
